package org.aileen.springmvc.Controller;


import jakarta.servlet.http.HttpSession;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/user")
@RestController
public class UserController {
    @RequestMapping("/login")
    public Boolean login(String userName , String password , HttpSession session) {
        //参数校验
//        //方式①:自己写
//        if(userName==null || userName.equals("")) {
//            return false;
//        }
//
//        //方式②:使用java库中的StringUtils来帮助我们判断
//        if(StringUtils.hasLength(userName) && StringUtils.hasLength(password)) {
//            //验证账号密码是否正确
//            //当前未学习数据库操作,暂时采用 硬编码方式
//            //假设账号密码分别为:  Aileen  , 12345
//            if ("Aileen".equals(userName) && "123456".equals(password)){
//                return true;
//            }
//        }
        //***但是,上面代码的层数过多,一般代码层数不超过5层,所以为了优化代码,我们可以将参数输入规范性和正确性的判断分开写

        if(!StringUtils.hasLength(userName) || !StringUtils.hasLength(password)){
            return false;
        }

        //校验账号和密码  账号:Aileen , 密码:123456
        if("Aileen".equals(userName) && "123456".equals(password)){
            //存储Session
            session.setAttribute("userName",userName);
            return true;
        }
        return false;
    }

    //返回用户信息
    @RequestMapping("/getUserInfo")
    public String getUserInfo(HttpSession session){
        String userName = (String) session.getAttribute("userName");
        //打印日志
        System.out.println("登录用户 : " + userName);

        return userName==null?"":userName;//判断userName是否为null
    }


}
